package com.kgcx.common.eum;

public interface OrderEnum {

    /**
     * exchange
     */
    String ORDER_EXCHANGE = "kgcxOrder";

    /**
     * 监管平台routingkey
     */
    String API_ASSIGN_ROUTING_KEY = "kgcx.assign.api";

    /**
     * 给司机发消息routingkey
     */
    String TO_DRIVER_ROUTING_KEY = "kgcx.message.driver";


    /**
     * 给乘客发消息routingkey
     */
    String TO_PASSENGER_ROUTING_KEY = "kgcx.message.passenger";
    /**
     * 行程开始routingkey
     */
    String ROUTING_KEY_ORDER_START = "kgcx.order.start";
    /**
     * 行程结束routingkey
     */
    String ROUTING_KEY_ORDER_FINISH = "kgcx.order.finish";
    /**
     * PUSH BILL routingkey
     */
    String ROUTING_KEY_ORDER_PUSH_BILL = "kgcx.order.push.bill";
    /**
     * 优惠券已使用routingkey
     */
    String ROUTING_KEY_ORDER_COUPON_USERD = "kgcx.order.coupon.used";


    /**
     * 正在进行中的订单
     */
    String ORDERS_ING = "ORDERS_ING";

    /**
     * 订单的状态
     */
    String ORDERS_STATUS = "ORDERS_STATUS";

    /**
     * 乘客的订单
     */
    String ORDERS_USER = "ORDERS_USER";
    /**
     * 司机的订单
     */
    String ORDERS_DRIVER = "ORDERS_DRIVER";

//    String DRIVER_ORDERS_SUMMARY = "DRIVER_ORDERS_SUMMARY";

    int ORDER_MAX_ING = 2;

    /**
     * 支付类型 - 乘客自付
     */
    int PAY_TYPE_USER = 1;
    /**
     * 支付类型 - 司机代付
     */
    int PAY_TYPE_DRIVER = 2;

    /**
     * 订单状态 - 大类
     */
    //已完成
    int FINISHED = 1;

    //进行中
    int ONGOING = 2;

    //因派车失败产生的废弃单
    int DISCARD = 3;



    /**
     * 等待接单
     * 创建订单直接置为等待接单状态
     */
    int WAIT_ORDER = 1;


    /**
     * 预约成功
     * 接收调度发过来的消息
     */
    int PLAN_SUCCESS =2;


    /**
     *派车成功
     * 接收调度发过来的消息
     */
    int AUTO_DISPATCH_SUCESS =3;

    /**
     *司机已出发
     * 【司机端直接调订单接口改状态】
     */
    int DRIVER_START = 4;

    /**
     *司机到达出发地
     * 【司机端直接调订单接口改状态】
     */
    int DRIVER_ARRIVED_ORIG = 5;
    /**
     *乘客已上车
     * 【司机端直接调订单接口改状态】
     */
    int PASSENGER_GET_IN = 6;
    /**
     *行程中
     * 司机调 order start 接口
     */
    int ON_ROAD = 7;
    /**
     *等待发送价格
     * 【司机端直接调订单接口改状态】
     */
    int ARRIVED_PENDING_PRICE = 8;

    /**
     *等待付款
     * 价格模块调订单接口
     */
    int PENDING_PAY = 9;

    /**
     * 乘客正在付款中
     */
    int USER_PAYING = 30;

    /**
     *司机端标识代支付（乘客显示已支付）
     * 【司机端直接调订单接口改状态】
     */
    int MARKED_PAIED = 10;

    /**
     * 已支付
     * 支付模块调订单接口
     */
    int PAIED = 11;

    /**
     *已评价
     * 评价模块调订单接口
     */
    int COMMENTED = 12;

    /**
     *已取消
     * 调用订单取消接口时更改
     */
    int CANCEL_ORDER = 13;

    /**
     *派车失败
     * 调度模块给订单发消息
     */
    int AUTO_DISPATCH_FAIL =14;

    /**
     *运力不足，下单失败
     * 调度模块给订单发消息
     */
    int PLAN_FAIL = 15;

    /**
     *订单关闭
     */
    int CLOSED = 20;

    /**
     * 操作类型枚举
     */
    int OPT_TYPE_UPDATE = 1;


//    订单类型，1-立即接机，2-立即接站，3-预约接机，4-预约接站，5-预约送机，6-预约送站，7-预约用车，8-立即用车
    /**
     * 立即接机
     */
    int TYPE_IMMEDIATELY_PLANE_PICK = 1;
    /**
     * 立即接站
     */
    int TYPE_IMMEDIATELY_TRAIN_PICK = 2;
    /**
     * 预约接机
     */
    int TYPE_PLAN_PLANE_PICK = 3;
    /**
     * 预约接站
     */
    int TYPE_PLAN_TRAIN_PICK = 4;
    /**
     * 预约送机
     */
    int TYPE_PLAN_PLANE_SEND = 5;
    /**
     * 预约送站
     */
    int TYPE_PLAN_TRAIN_SEND = 6;
    /**
     * 预约用车
     */
    int TYPE_PLAN_COMMON = 7;
    /**
     * 立即用车
     */
    int TYPE_IMMEDIATELY_COMMON = 8;


    //支付渠道，1-微信，2-支付宝，3-银联，4-账户扣款，5-企业代扣，9-其他
    
    int APY_CHANNEL_WECHATPAY = 1;
    
    int APY_CHANNEL_ALIPAY = 2;
    
    /** MQTT服务端报点topic标识 */
    String ORDER_STATE_TOPIC = "kgcxOrderStateUpdateTopic";
}
